1
効率の基準——なぜオーダー記法はプログラマーの共通言語なのか?
AI028Lesson 2
00:00

時間計算量(Time Complexity) 時間計算量は、アルゴリズムの実行時間を絶対的な秒数で測るものではなく、問題の規模 $n$ が増加するにつれて実行時間がどのように増加するかを表す数学的関数です。これは「アルゴリズム分析は実装に依存しない評価手法である」という基本原則に基づいています。

規模 $n$時間 $T(n)$$O(n^2)$$O(n)$$O(\log n)$$O(1)$

なぜそれが共通言語なのか?

  • 数量化された進化:オーダー記法は低次の項や定数を無視し、主に数量級(Order of Magnitude)に注目します。
  • 測定の確定性:プログラマーは通常最悪ケース(Worst Case) を基準としており、パフォーマンスの下限を保証します。
  • 環境を超えた意思決定:スーパーコンピュータであろうと組み込みチップであろうと、$O(n^2)$ から $O(n \log n)$ への最適化は本質的な利点をもたらします。
カウント法(Counting)
2つの文字列における各文字の出現回数を計算します。文字のカウントリストが一致すれば、2つの文字列は異序語(アナグラム)であることが確定します。この方法により カウント法:$O(n)$ の効率性が実現されます。